﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Tipler.DataSetler;
using Telerik.Web.UI;
using Tipler.Enumlar;
using Tipler.OzellikTipleri;
using IKYSWeb.Siniflar;
using Microsoft.Reporting.WebForms;

namespace IKYSWeb.Raporlar
{
    [YetkiAttribute(EnumSayfaYetkileri.Raporlar)]
    public partial class Raporlar : BasePage
    {
        private List<ReportParameter> RaporParametre
        {
            get { return (List<ReportParameter>)Session["RaporParametre"]; }
            set { Session["RaporParametre"] = value; }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                foreach (RaporDataSet.RaporRow dr in AktifKullanici.KullaniciRaporlari.Rapor.Rows)
                {
                    RadTreeNode parentNode = trvRaporlar.Nodes.FindNodeByValue(dr.RaporTuru.ToString());
                    if (parentNode == null)
                    {
                        parentNode = new RadTreeNode();
                        //parentNode.Text = ((EnumRaporTuru)dr.RaporTuru).ToString().Replace("_", " ");
                        parentNode.Value = dr.RaporTuru.ToString();
                        parentNode.ExpandMode = TreeNodeExpandMode.ClientSide;
                        trvRaporlar.Nodes.Add(parentNode);
                    }

                    RadTreeNode node = new RadTreeNode();
                    node.Text = (dr.Adi.Length > 100 ? dr.Adi.Substring(0, 100) + "..." : dr.Adi);
                    node.Value = dr.RaporID.ToString();
                    node.ExpandMode = TreeNodeExpandMode.ClientSide;

                    if (dr.TasraGorecekMi)
                    {
                        //#region Yetki Kontrol

                        //int YetkiliUstBirim = -1, YetkiliIlceID = -1;
                        //if (AktifKullanici.KullaniciBilgisiRow.YetkiLITESKILAT == EnumYetkiliTeskilat.Genel_Yetkili.GetHashCode())
                        //{
                        //    RaporParametre = new List<ReportParameter>();
                        //    RaporParametre.Add(new ReportParameter("YetkiLIUSTBIRIMID", "-1"));
                        //    RaporParametre.Add(new ReportParameter("YetkiLIILCEID", "-1"));
                        //}
                        //else
                        //{
                        //    BIRIMPRMDataSet.BIRIMPRMRow drYetkiliBirim = CachePage.BirimPrmRowGetir(((KullaniciYetkiliBolgeDataSet.KullaniciYetkiliBolgeRow)AktifKullanici.KullaniciYetkiliBolgeleri.KullaniciYetkiliBolge.Rows[0]).BIRIMID);
                        //    if (drYetkiliBirim.BIRIMTIPID == EnumBirimTip.İlçe_Müftülüğü.GetHashCode())
                        //    {
                        //        YetkiliUstBirim = drYetkiliBirim.USTBIRIMID;
                        //        YetkiliIlceID = drYetkiliBirim.ILCEID;
                        //    }
                        //    else
                        //    {
                        //        YetkiliUstBirim = drYetkiliBirim.BIRIMID;
                        //    }

                        //    RaporParametre = new List<ReportParameter>();
                        //    RaporParametre.Add(new ReportParameter("YetkiLIUSTBIRIMID", YetkiliUstBirim.ToString()));
                        //    RaporParametre.Add(new ReportParameter("YetkiLIILCEID", YetkiliIlceID.ToString()));
                        //}

                        //node.NavigateUrl = RaporAraci.RaporSayfasiUzantisiGetir((EnumRaporlar)dr.RAPORID, RaporParametre);

                        //#endregion
                    }
                    else
                        //node.NavigateUrl = RaporAraci.RaporSayfasiUzantisiGetir((EnumRaporlar)dr.RAPORID);

                    node.CssClass = "modalizeGenis";
                    parentNode.Nodes.Add(node);
                }
                trvRaporlar.ExpandAllNodes();
            }
        }
    }
}